package com.zw.mes.module.overview.mapper;

import com.zw.mes.module.assemble.entity.AsseAssemblyRoute;
import com.zw.mes.module.assemble.entity.AsseAssemblySheet;
import com.zw.mes.module.overview.model.PlaCapacityModel;
import com.zw.mes.module.overview.model.ProdArrangeModel;

import java.util.Date;
import java.util.List;

/**
 * @Description:
 *
 * @Author: China.wsg
 * @Date: 2021/06/02 13:03
 */
public interface OverviewMapper {

    /** 第一行 **/
    /** 生产令待下达数量 */
    Integer getOneRowOneCol1Count();
    /** 设备类待排产数量 */
    Integer getOneRowOneCol2Count();
    /** 其他类待排产数量 */
    Integer getOneRowOneCol3Count();

    /** 外购件待分配数量 */
    Integer getOneRowTwoCol1Count();
    /** 制作件清单待分配数量 */
    Integer getOneRowTwoCol2Count();
    /** 工艺卡接收数量 */
    Integer getOneRowTwoCol3Count();
    /** 待下料任务数量 */
    Integer getOneRowTwoCol4Count();

    /** 装配派工单下达数量 */
    Integer getOneRowThreeCol1Count();
    /** 发货清单审核数量 */
    Integer getOneRowThreeCol2Count();
    /** 安装派工单下达数量 */
    Integer getOneRowThreeCol3Count();

    /** 第二行 **/
    /** 生产任务池零件数 */
    Integer getTwoRowOneColCount();
    /** 半成品库池零件数 */
    Integer getTwoRowTwoColCount();
    /** 成品库池零件数 */
    Integer getTwoRowThreeColCount();

    /** 第三行 **/
    /** 待执行项目数 */
    Integer getThreeRowOneCol1Count();

    /** 待执行项目数 */
    Integer getThreeRowTwoCol1Count();
    /** 涂装任务量 */
    Integer getThreeRowTwoCol2Count();

    /** 待执行项目数 */
    Integer getThreeRowThreeCol1Count();
    /** 机械装配任务量 */
    Integer getThreeRowThreeCol2Count();
    /** 流体装配任务量 */
    Integer getThreeRowThreeCol3Count();

    /** 待执行项目数 */
    Integer getThreeRowFourCol1Count();

    /** 当月计划量（吨） */
    Double getFourRowOneCol1Count(Date curDate);
    /** 当月完成量（吨） */
    Double getFourRowOneCol2Count(Date curDate);
    /** 当月计划项目数（机械） */
    Double getWeldCurMonProCount(Date curDate);
    /** 当月完成项目数（机械） */
    Double getWeldCurMonOverProCount(Date curDate);

    /** 当月计划量（小时） */
    Double getFourRowTwoCol1Count(Date curDate);
    /** 当月完成量（小时） */
    Double getFourRowTwoCol2Count(Date curDate);
    /** 当月计划机加分钟数（机加） */
    Double getCutCurMonMinuteCount(Date curDate);
    /** 当月完成机加分钟数（机加） */
    Double getCutCurMonOverMinuteCount(Date curDate);
    /** 当月计划项目数（机加） */
    Double getCutCurMonProCount(Date curDate);
    /** 当月完成项目数（机加） */
    Double getCutCurMonOverProCount(Date curDate);

    /** 生产令月进度统计 列表 */
    List<ProdArrangeModel> findProdArrangeList();

    /** 机加厂任务量列表 */
    List<AsseAssemblySheet> findAssemblySheetByQuery(AsseAssemblySheet assemblySheet);

    /** 机加厂任务量 路线列表 */
    List<AsseAssemblyRoute> findMacTaskRouteListBySheetId(Integer sheetId);

    /** 涂装任务量查询 列表 */
    List<AsseAssemblySheet> findCoatListByQuery(AsseAssemblySheet assemblySheet);

    /** 铆焊产能统计 列表 */
    List<PlaCapacityModel> findWeldStatsByQuery(PlaCapacityModel plaCapacityModel);

    /** 机加产能统计 列表 */
    List<PlaCapacityModel> findCutStatsByQuery(PlaCapacityModel plaCapacityModel);


}
